/**
 * 由于财务管理模块金额的输入【小数位数】由后台设置，
 * 所以增加此业务控件用以支撑此需求
 */
import React, { useContext, forwardRef } from 'react';

import { BaseSettingContext } from '@/pages/SalaryManage/constant/BaseSettingContext';
import { NumberInput, PercentInput } from '../NumberInput';

/**
 * 根据后台确定小位位数数字输入控件，
 * 所有配制与NumberInput相同（除decimalPlaces，来源于后台）
 */
const NumberSettingInput = forwardRef(({ ...otherProps }, ref) => {
    const {
        baseSetting: { scale: decimalPlaces }
    } = useContext(BaseSettingContext);
    return <NumberInput ref={ref} decimalPlaces={decimalPlaces} {...otherProps} />;
});

/**
 * 根据后台确定小位位数百分比输入控件，
 * 所有配制与PercentInput相同（除decimalPlaces，来源于后台）
 */
const PercentSettingInput = forwardRef(({ ...otherProps }, ref) => {
    const {
        baseSetting: { scale: decimalPlaces }
    } = useContext(BaseSettingContext);
    return <PercentInput ref={ref} decimalPlaces={decimalPlaces} {...otherProps} />;
});

export { NumberSettingInput as default, NumberSettingInput, PercentSettingInput };
